/*
	This script file is part of the Sonic 3 A.I.R. script software distribution.
	Copyright (C) 2017-2024 by Eukaryot

	Published under the GNU GPLv3 open source software license, see license.txt
	or https://www.gnu.org/licenses/gpl-3.0.en.html
*/



function void LevelObjectTableBuilder.buildObjects_CNZ1()
{
	// Add missing wheel objects only if SETTING_FIX_GLITCHES is active, otherwise they break the game
	// (after all, there is the reason why they are not present in the original game)
	bool addMissingWheelObjects = Game.getSetting(SETTING_FIX_GLITCHES)

	// The Sonic 3 level layouts originally miss a lot of enemies in Knuckles' path, but this adds them in just in the other layouts
	bool addEnemiesToSonic3Layout = true	// Instead of "Game.getSetting(SETTING_LEVELLAYOUTS) != 0"

	LevelObjectTableBuilder.addObject(0x00d0, 0x0830, OBJECTTABLE1_01, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x0160, 0x0850, OBJECTTABLE1_08, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x0180, 0x0680, OBJECTTABLE1_41, 0x04, 0)

	if (addEnemiesToSonic3Layout)
	{
		LevelObjectTableBuilder.addObject(0x01a0, 0x0850, OBJECTTABLE1_a3, 0x00, LVLOBJ_FLIP_X)
	}

	LevelObjectTableBuilder.addObject(0x01c0, 0x0680, OBJECTTABLE1_41, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x0200, 0x0680, OBJECTTABLE1_41, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x0240, 0x0680, OBJECTTABLE1_41, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x0240, 0x0888, OBJECTTABLE1_3c, 0x80, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x0240, 0x0ba0, OBJECTTABLE1_48, 0x30, 0)
	LevelObjectTableBuilder.addObject(0x0270, 0x0ba0, OBJECTTABLE1_28, 0x13, 0)
	LevelObjectTableBuilder.addObject(0x02a0, 0x0720, OBJECTTABLE1_47, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x02f0, 0x0790, OBJECTTABLE1_08, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x0318, 0x06bc, OBJECTTABLE1_4a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0340, 0x0650, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x0340, 0x06bc, OBJECTTABLE1_4a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0340, 0x0860, OBJECTTABLE1_0d, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x0360, 0x0860, OBJECTTABLE1_0d, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x0368, 0x06bc, OBJECTTABLE1_4a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x03e8, 0x0630, OBJECTTABLE1_4a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x03e8, 0x0630, OBJECTTABLE1_4a, 0x80, 0)
	LevelObjectTableBuilder.addObject(0x03e8, 0x0630, OBJECTTABLE1_4a, 0x2b, 0)
	LevelObjectTableBuilder.addObject(0x03e8, 0x0630, OBJECTTABLE1_4a, 0xd5, 0)

	if (addEnemiesToSonic3Layout)
	{
		LevelObjectTableBuilder.addObject(0x0456, 0x0890, OBJECTTABLE1_a3, 0x00, LVLOBJ_FLIP_X)
	}

	LevelObjectTableBuilder.addObject(0x04c8, 0x08b0, OBJECTTABLE1_07, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x0558, 0x08a0, OBJECTTABLE1_0d, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x0578, 0x0690, OBJECTTABLE1_a3, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0578, 0x08a0, OBJECTTABLE1_0d, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x05a4, 0x0a70, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x05c0, 0x0a70, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x05c8, 0x06b0, OBJECTTABLE1_07, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x05dc, 0x0a70, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x05f0, 0x0ba0, OBJECTTABLE1_02, 0x08, 0)
	LevelObjectTableBuilder.addObject(0x0600, 0x0890, OBJECTTABLE1_08, 0x10, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x0630, 0x0a20, OBJECTTABLE1_0d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0640, 0x0ba0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)

	if (addEnemiesToSonic3Layout)
	{
		LevelObjectTableBuilder.addObject(0x0680, 0x0a30, OBJECTTABLE1_a3, 0x00, LVLOBJ_FLIP_X)
	}

	LevelObjectTableBuilder.addObject(0x06c0, 0x0620, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x06c0, 0x0ba0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x0770, 0x0990, OBJECTTABLE1_4d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0780, 0x0a60, OBJECTTABLE1_47, 0x41, 0)
	LevelObjectTableBuilder.addObject(0x0780, 0x0b88, OBJECTTABLE1_02, 0x0e, 0)
	LevelObjectTableBuilder.addObject(0x07e0, 0x0620, OBJECTTABLE1_41, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x07f0, 0x0a10, OBJECTTABLE1_4d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0858, 0x063c, OBJECTTABLE1_41, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x0870, 0x0a90, OBJECTTABLE1_4d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0880, 0x0b88, OBJECTTABLE1_02, 0x0e, 0)
	LevelObjectTableBuilder.addObject(0x08c0, 0x0a00, OBJECTTABLE1_47, 0x49, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x08e0, 0x0638, OBJECTTABLE1_41, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x08f0, 0x0b10, OBJECTTABLE1_4d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0940, 0x0750, OBJECTTABLE1_46, 0x70, 0)
	LevelObjectTableBuilder.addObject(0x0950, 0x04b8, OBJECTTABLE1_07, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x0960, 0x0658, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x0990, 0x0234, OBJECTTABLE1_08, 0x60, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x0990, 0x02b0, OBJECTTABLE1_01, 0x06, 0)
	LevelObjectTableBuilder.addObject(0x0990, 0x09b0, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x09ad, 0x01d4, OBJECTTABLE1_08, 0x42, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x09b0, 0x09b0, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x09c0, 0x03f0, OBJECTTABLE1_47, 0x41, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x09c0, 0x0470, OBJECTTABLE1_47, 0x41, 0)
	LevelObjectTableBuilder.addObject(0x09d0, 0x09b0, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x09e0, 0x0149, OBJECTTABLE1_3c, 0x80, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x09e0, 0x0ab0, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x09f0, 0x0650, OBJECTTABLE1_41, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x09f0, 0x09b0, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x0a00, 0x0ab0, OBJECTTABLE1_01, 0x01, 0)

	if (addEnemiesToSonic3Layout)
	{
		LevelObjectTableBuilder.addObject(0x0a00, 0x0b58, OBJECTTABLE1_a5, 0x00, 0)
	}

	if (Game.getSetting(SETTING_LEVELLAYOUTS) == 2)
	{
		// This fan object is smaller, to prevent relatively frequent dead stops on the following quarter pipe
		LevelObjectTableBuilder.addObject(0x0a00, 0x0760, OBJECTTABLE1_46, 0x30, 0)
	}

	LevelObjectTableBuilder.addObject(0x0a20, 0x02b0, OBJECTTABLE1_08, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0a20, 0x02f8, OBJECTTABLE1_6b, 0x13, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x0a20, 0x0ab0, OBJECTTABLE1_01, 0x03, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) != 2)
	{
		LevelObjectTableBuilder.addObject(0x0a40, 0x0750, OBJECTTABLE1_46, 0x70, 0)
	}

	LevelObjectTableBuilder.addObject(0x0a50, 0x05e8, OBJECTTABLE1_41, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0a78, 0x0688, OBJECTTABLE1_41, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x0a80, 0x0300, OBJECTTABLE1_47, 0x4a, 0)
	LevelObjectTableBuilder.addObject(0x0ac0, 0x0a00, OBJECTTABLE1_47, 0x4a, 0)

	// Move this thing down to prevent a random crushing bug
	LevelObjectTableBuilder.addObject(0x0ae0, 0x03d4 + 0x0c, OBJECTTABLE1_6b, 0x31, 0)

	LevelObjectTableBuilder.addObject(0x0ae0, 0x05b0, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x0ae8, 0x0130, OBJECTTABLE1_08, 0x30, 0)
	LevelObjectTableBuilder.addObject(0x0b00, 0x0380, OBJECTTABLE1_47, 0x49, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x0b00, 0x0538, OBJECTTABLE1_49, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0b00, 0x05b0, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x0b10, 0x0b10, OBJECTTABLE1_4d, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x0b20, 0x05b0, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x0b58, 0x03a0, OBJECTTABLE1_6b, 0x13, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x0b90, 0x0a90, OBJECTTABLE1_4d, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x0c00, 0x0610, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x0c00, 0x0b38, OBJECTTABLE1_49, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0c06, 0x06d4, OBJECTTABLE1_08, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x0c24, 0x08f0, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x0c40, 0x08f0, OBJECTTABLE1_01, 0x06, 0)
	LevelObjectTableBuilder.addObject(0x0c50, 0x0478, OBJECTTABLE1_07, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0c5c, 0x08f0, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x0c98, 0x0470, OBJECTTABLE1_a3, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x0cb8, 0x0670, OBJECTTABLE1_08, 0x01, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x0cc0, 0x014c, OBJECTTABLE1_85, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0cc0, 0x0630, OBJECTTABLE1_01, 0x05 | 0x10, 0)
	LevelObjectTableBuilder.addObject(0x0cc0, 0x09a0, OBJECTTABLE1_02, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0cc8, 0x0b20, OBJECTTABLE1_02, 0x18, 0)
	LevelObjectTableBuilder.addObject(0x0cf0, 0x0440, OBJECTTABLE1_43, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0d10, 0x0350, OBJECTTABLE1_08, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x0d40, 0x0b20, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x0d48, 0x04b0, OBJECTTABLE1_07, 0x12, 0)

	if (addEnemiesToSonic3Layout)
	{
		LevelObjectTableBuilder.addObject(0x0d50, 0x0980, OBJECTTABLE1_a5, 0x00, 0)
	}

	LevelObjectTableBuilder.addObject(0x0db0, 0x0afc, OBJECTTABLE1_02, 0x0e, 0)
	LevelObjectTableBuilder.addObject(0x0dc0, 0x0310, OBJECTTABLE1_01, 0x07, 0)
	LevelObjectTableBuilder.addObject(0x0dc0, 0x0848, OBJECTTABLE1_85, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x0dc8, 0x04d0, OBJECTTABLE1_07, 0x12, 0)
	LevelObjectTableBuilder.addObject(0x0de8, 0x03b0, OBJECTTABLE1_a3, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0df0, 0x0a90, OBJECTTABLE1_4d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0e08, 0x05a0, OBJECTTABLE1_02, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0e08, 0x0640, OBJECTTABLE1_02, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x0e38, 0x04d0, OBJECTTABLE1_07, 0x12, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x0e60, 0x0660, OBJECTTABLE1_47, 0x42, LVLOBJ_IGNORE_Y)
	LevelObjectTableBuilder.addObject(0x0eb8, 0x0350, OBJECTTABLE1_07, 0x12, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x0ee0, 0x0908, OBJECTTABLE1_02, 0x0c, 0)
	LevelObjectTableBuilder.addObject(0x0ee0, 0x0a30, OBJECTTABLE1_01, 0x03, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) != 0)
	{
		LevelObjectTableBuilder.addObject(0x0ef0, 0x0180, OBJECTTABLE1_43, 0x00, 0)
	}

	LevelObjectTableBuilder.addObject(0x0ef0, 0x0790, OBJECTTABLE1_4d, 0x00, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) == 0)
	{
		LevelObjectTableBuilder.addObject(0x0f00, 0x0180, OBJECTTABLE1_43, 0x00, 0)
	}

	LevelObjectTableBuilder.addObject(0x0f00, 0x0488, OBJECTTABLE1_4a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0f00, 0x0488, OBJECTTABLE1_4a, 0x80, 0)
	LevelObjectTableBuilder.addObject(0x0f00, 0x0488, OBJECTTABLE1_4a, 0x2b, 0)
	LevelObjectTableBuilder.addObject(0x0f00, 0x0488, OBJECTTABLE1_4a, 0xd5, 0)
	LevelObjectTableBuilder.addObject(0x0f00, 0x0880, OBJECTTABLE1_47, 0x41, 0)
	LevelObjectTableBuilder.addObject(0x0f00, 0x0a30, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x0f20, 0x0a30, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x0f70, 0x0810, OBJECTTABLE1_4d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0f80, 0x0138, OBJECTTABLE1_49, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0f80, 0x0680, OBJECTTABLE1_41, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x0f80, 0x0908, OBJECTTABLE1_02, 0x0e, 0)
	LevelObjectTableBuilder.addObject(0x0f84, 0x0310, OBJECTTABLE1_08, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x0f8f, 0x0450, OBJECTTABLE1_08, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x0ff0, 0x0890, OBJECTTABLE1_4d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1000, 0x0490, OBJECTTABLE1_4a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1000, 0x04c0, OBJECTTABLE1_4a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1000, 0x04f0, OBJECTTABLE1_4a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1030, 0x00fb, OBJECTTABLE1_08, 0x40, 0)
	LevelObjectTableBuilder.addObject(0x1040, 0x0248, OBJECTTABLE1_3c, 0x80, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1040, 0x0320, OBJECTTABLE1_48, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x1070, 0x0320, OBJECTTABLE1_28, 0x13, 0)
	LevelObjectTableBuilder.addObject(0x1078, 0x0428, OBJECTTABLE1_a5, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1090, 0x0710, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x10b0, 0x0720, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x10c0, 0x0a00, OBJECTTABLE1_02, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x10d0, 0x0730, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x10f0, 0x0740, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1138, 0x00d0, OBJECTTABLE1_07, 0x12, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1150, 0x0338, OBJECTTABLE1_07, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1160, 0x00a8, OBJECTTABLE1_34, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x1160, 0x0750, OBJECTTABLE1_46, 0x50, 0)
	LevelObjectTableBuilder.addObject(0x1180, 0x08c0, OBJECTTABLE1_a5, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1190, 0x0330, OBJECTTABLE1_a3, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x11c0, 0x0478, OBJECTTABLE1_4b, 0x40, LVLOBJ_FLIP_X | LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1200, 0x04d8, OBJECTTABLE1_4b, 0x80, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x125f, 0x02b1, OBJECTTABLE1_01, 0x08, 0)
	LevelObjectTableBuilder.addObject(0x1280, 0x0478, OBJECTTABLE1_4b, 0x80, LVLOBJ_FLIP_X | LVLOBJ_FLIP_Y)

	if (addEnemiesToSonic3Layout)
	{
		LevelObjectTableBuilder.addObject(0x1280, 0x0ac0, OBJECTTABLE1_a5, 0x00, 0)
	}

	// This object is originally not in the Sonic 3 layouts, but is meant as a fix for collision, so we include it anyways
	LevelObjectTableBuilder.addObject(0x12c0, 0x05e0, OBJECTTABLE1_6b, 0x71, 0)

	LevelObjectTableBuilder.addObject(0x12d8, 0x0120, OBJECTTABLE1_0d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1300, 0x07c0, OBJECTTABLE1_4e, 0x28, LVLOBJ_FLIP_X | LVLOBJ_IGNORE_Y)
	LevelObjectTableBuilder.addObject(0x1340, 0x03d8, OBJECTTABLE1_4b, 0x80, 0)
	LevelObjectTableBuilder.addObject(0x1380, 0x0378, OBJECTTABLE1_4b, 0x80, LVLOBJ_FLIP_Y)

	if (addMissingWheelObjects)
	{
		LevelObjectTableBuilder.addObject(0x1380, 0x0538, OBJECTTABLE1_49, 0x00, 0)
	}

	LevelObjectTableBuilder.addObject(0x1390, 0x0700, OBJECTTABLE1_02, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x13c0, 0x0150, OBJECTTABLE1_4c, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x13f0, 0x0850, OBJECTTABLE1_08, 0x10, LVLOBJ_FLIP_Y)

	if (addEnemiesToSonic3Layout)
	{
		LevelObjectTableBuilder.addObject(0x1400, 0x0a80, OBJECTTABLE1_a5, 0x00, 0)
	}

	LevelObjectTableBuilder.addObject(0x1420, 0x03d8, OBJECTTABLE1_4b, 0x60, 0)
	LevelObjectTableBuilder.addObject(0x1460, 0x0880, OBJECTTABLE1_02, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x1480, 0x0378, OBJECTTABLE1_4b, 0x80, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1490, 0x08d0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x14b0, 0x08e0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x14b8, 0x0770, OBJECTTABLE1_07, 0x10, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x14d0, 0x08f0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x14f0, 0x0900, OBJECTTABLE1_46, 0x80, 0)

	if (addEnemiesToSonic3Layout)
	{
		LevelObjectTableBuilder.addObject(0x1500, 0x0a80, OBJECTTABLE1_a5, 0x00, 0)
	}

	LevelObjectTableBuilder.addObject(0x1510, 0x0900, OBJECTTABLE1_46, 0x80, 0)
	LevelObjectTableBuilder.addObject(0x1530, 0x08f0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1540, 0x0520, OBJECTTABLE1_48, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1550, 0x08e0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1560, 0x0284, OBJECTTABLE1_44, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1570, 0x08d0, OBJECTTABLE1_46, 0x80, 0)
	LevelObjectTableBuilder.addObject(0x1590, 0x08d0, OBJECTTABLE1_46, 0x80, 0)
	LevelObjectTableBuilder.addObject(0x15b0, 0x08e0, OBJECTTABLE1_46, 0x00, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) != 2)
	{
		// Remove this barrel, we don't need two of them in a row
		LevelObjectTableBuilder.addObject(0x15c0, 0x0500, OBJECTTABLE1_47, 0x45, LVLOBJ_FLIP_X)
	}

	LevelObjectTableBuilder.addObject(0x15c0, 0x0560, OBJECTTABLE1_6b, 0x51, 0)
	LevelObjectTableBuilder.addObject(0x15d0, 0x08f0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x15f0, 0x0900, OBJECTTABLE1_46, 0x80, 0)
	LevelObjectTableBuilder.addObject(0x1600, 0x01f0, OBJECTTABLE1_a5, 0x00, 0)

	if (addMissingWheelObjects)
	{
		LevelObjectTableBuilder.addObject(0x1600, 0x03b8, OBJECTTABLE1_49, 0x00, 0)
	}

	if (addEnemiesToSonic3Layout)
	{
		LevelObjectTableBuilder.addObject(0x1600, 0x0a80, OBJECTTABLE1_a5, 0x00, 0)
	}

	LevelObjectTableBuilder.addObject(0x1610, 0x0900, OBJECTTABLE1_46, 0x80, 0)
	LevelObjectTableBuilder.addObject(0x1620, 0x0750, OBJECTTABLE1_46, 0x50, 0)
	LevelObjectTableBuilder.addObject(0x1630, 0x08f0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1640, 0x0500, OBJECTTABLE1_47, 0x45, 0)
	LevelObjectTableBuilder.addObject(0x1640, 0x0560, OBJECTTABLE1_6b, 0x51, 0)
	LevelObjectTableBuilder.addObject(0x1650, 0x08e0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x165e, 0x0190, OBJECTTABLE1_08, 0x10, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1660, 0x0280, OBJECTTABLE1_47, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x1670, 0x06e0, OBJECTTABLE1_4a, 0x80, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1670, 0x06e0, OBJECTTABLE1_4a, 0xff, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1670, 0x06e0, OBJECTTABLE1_4a, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1670, 0x08d0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1690, 0x0740, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x16b0, 0x0730, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x16c0, 0x01ec, OBJECTTABLE1_08, 0x01, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x16d0, 0x0720, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x16f0, 0x0710, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1700, 0x0510, OBJECTTABLE1_4a, 0x80, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1700, 0x0510, OBJECTTABLE1_4a, 0x2b, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1700, 0x0510, OBJECTTABLE1_4a, 0xd5, LVLOBJ_FLIP_X)

	if (addEnemiesToSonic3Layout)
	{
		LevelObjectTableBuilder.addObject(0x1700, 0x0a80, OBJECTTABLE1_a5, 0x00, 0)
	}

	LevelObjectTableBuilder.addObject(0x1710, 0x0700, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1718, 0x0818, OBJECTTABLE1_07, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1730, 0x06f0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1750, 0x06e0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1790, 0x06d0, OBJECTTABLE1_46, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x17a4, 0x0214, OBJECTTABLE1_08, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x17c0, 0x0860, OBJECTTABLE1_41, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x17f0, 0x07f0, OBJECTTABLE1_41, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x1824, 0x0154, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x1840, 0x0238, OBJECTTABLE1_49, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1888, 0x0330, OBJECTTABLE1_07, 0x12, 0)
	LevelObjectTableBuilder.addObject(0x18a0, 0x0349, OBJECTTABLE1_3c, 0x80, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x18b0, 0x00f0, OBJECTTABLE1_41, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x18c0, 0x01b8, OBJECTTABLE1_49, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x18d0, 0x0260, OBJECTTABLE1_41, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x1900, 0x04b8, OBJECTTABLE1_49, 0x00, 0)

	if (addMissingWheelObjects)
	{
		LevelObjectTableBuilder.addObject(0x1900, 0x0938, OBJECTTABLE1_49, 0x00, 0)
	}

	LevelObjectTableBuilder.addObject(0x1920, 0x022c, OBJECTTABLE1_41, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x1924, 0x07f0, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x1928, 0x0120, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x1940, 0x0548, OBJECTTABLE1_3c, 0x80, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1940, 0x06a0, OBJECTTABLE1_48, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x1940, 0x07f0, OBJECTTABLE1_01, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x195c, 0x07f0, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x1963, 0x01ce, OBJECTTABLE1_08, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1970, 0x06a0, OBJECTTABLE1_28, 0x13, 0)
	LevelObjectTableBuilder.addObject(0x1980, 0x02b0, OBJECTTABLE1_a3, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1990, 0x012c, OBJECTTABLE1_41, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x19c0, 0x0520, OBJECTTABLE1_48, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x19e0, 0x0160, OBJECTTABLE1_47, 0x42, 0)
	LevelObjectTableBuilder.addObject(0x19e0, 0x02d0, OBJECTTABLE1_46, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x1a30, 0x00d0, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x1a34, 0x060f, OBJECTTABLE1_08, 0x20, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1a40, 0x02d0, OBJECTTABLE1_46, 0x80, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1a40, 0x0790, OBJECTTABLE1_43, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1a50, 0x00d0, OBJECTTABLE1_01, 0x08, 0)
	LevelObjectTableBuilder.addObject(0x1a50, 0x0170, OBJECTTABLE1_6b, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1a50, 0x0b00, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x1a70, 0x0328, OBJECTTABLE1_34, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x1a80, 0x0510, OBJECTTABLE1_4a, 0x80, 0)
	LevelObjectTableBuilder.addObject(0x1a80, 0x0510, OBJECTTABLE1_4a, 0x2b, 0)
	LevelObjectTableBuilder.addObject(0x1a80, 0x0510, OBJECTTABLE1_4a, 0xd5, 0)
	LevelObjectTableBuilder.addObject(0x1a80, 0x0b50, OBJECTTABLE1_46, 0x70, 0)
	LevelObjectTableBuilder.addObject(0x1aa0, 0x02d0, OBJECTTABLE1_46, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x1aa0, 0x0b10, OBJECTTABLE1_41, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x1aa8, 0x0760, OBJECTTABLE1_3c, 0x01, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1ab8, 0x0150, OBJECTTABLE1_07, 0x12, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1ad1, 0x09ba, OBJECTTABLE1_07, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1ae0, 0x00c0, OBJECTTABLE1_41, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x1ae0, 0x0950, OBJECTTABLE1_46, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x1af0, 0x0638, OBJECTTABLE1_a5, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1b00, 0x0b08, OBJECTTABLE1_41, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x1b10, 0x0940, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1b20, 0x00f8, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x1b30, 0x0930, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1b40, 0x03cc, OBJECTTABLE1_85, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x1b40, 0x0b50, OBJECTTABLE1_46, 0x30, 0)
	LevelObjectTableBuilder.addObject(0x1b50, 0x0920, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1b68, 0x0b14, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x1b70, 0x0910, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1b90, 0x0900, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1ba0, 0x0140, OBJECTTABLE1_47, 0x4b, 0)
	LevelObjectTableBuilder.addObject(0x1bb0, 0x08f0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1bc0, 0x07e0, OBJECTTABLE1_47, 0x41, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1bc8, 0x0550, OBJECTTABLE1_07, 0x12, 0)
	LevelObjectTableBuilder.addObject(0x1bd0, 0x08e0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1c10, 0x08d0, OBJECTTABLE1_46, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x1c20, 0x00a0, OBJECTTABLE1_4a, 0xd5, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1c40, 0x00a0, OBJECTTABLE1_4a, 0xd5, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1c40, 0x0620, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1c60, 0x00a0, OBJECTTABLE1_4a, 0xd5, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1cd0, 0x00c0, OBJECTTABLE1_41, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x1ce0, 0x0140, OBJECTTABLE1_47, 0x4c, 0)
	LevelObjectTableBuilder.addObject(0x1d10, 0x0098, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x1d28, 0x0a28, OBJECTTABLE1_42, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1d38, 0x08b0, OBJECTTABLE1_07, 0x12, LVLOBJ_FLIP_X)		// Thanks to Noah Copeland :)
	LevelObjectTableBuilder.addObject(0x1d80, 0x00e0, OBJECTTABLE1_4a, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1d80, 0x00e0, OBJECTTABLE1_4a, 0x80, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1d80, 0x00e0, OBJECTTABLE1_4a, 0x2b, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1d80, 0x00e0, OBJECTTABLE1_4a, 0xd5, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1d80, 0x0540, OBJECTTABLE1_4e, 0x18, LVLOBJ_FLIP_X | LVLOBJ_IGNORE_Y)
	LevelObjectTableBuilder.addObject(0x1d88, 0x0890, OBJECTTABLE1_a3, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1e00, 0x0a40, OBJECTTABLE1_4e, 0x18, LVLOBJ_FLIP_X | LVLOBJ_IGNORE_Y)
	LevelObjectTableBuilder.addObject(0x1e30, 0x0530, OBJECTTABLE1_01, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x1e40, 0x00ee, OBJECTTABLE1_08, 0x01, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1e40, 0x0390, OBJECTTABLE1_08, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1e68, 0x0869, OBJECTTABLE1_42, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1ea8, 0x00ec, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x1eb8, 0x062f, OBJECTTABLE1_07, 0x10, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1ec0, 0x06f0, OBJECTTABLE1_01, 0x06, 0)
	LevelObjectTableBuilder.addObject(0x1ee8, 0x00d0, OBJECTTABLE1_41, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x1f00, 0x03cf, OBJECTTABLE1_08, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1f08, 0x0aa8, OBJECTTABLE1_42, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1f30, 0x00e0, OBJECTTABLE1_41, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x1f60, 0x0160, OBJECTTABLE1_47, 0x46, 0)
	LevelObjectTableBuilder.addObject(0x1f80, 0x0380, OBJECTTABLE1_47, 0x49, 0)
	LevelObjectTableBuilder.addObject(0x1fd0, 0x0ac8, OBJECTTABLE1_07, 0x20, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x2000, 0x012d, OBJECTTABLE1_08, 0x01, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x2000, 0x04d0, OBJECTTABLE1_46, 0x30, 0)
	LevelObjectTableBuilder.addObject(0x2000, 0x0900, OBJECTTABLE1_4e, 0x10, LVLOBJ_IGNORE_Y)
	LevelObjectTableBuilder.addObject(0x2024, 0x0190, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x2030, 0x0630, OBJECTTABLE1_01, 0x08, 0)

	if (addMissingWheelObjects)
	{
		LevelObjectTableBuilder.addObject(0x2040, 0x0b38, OBJECTTABLE1_49, 0x00, 0)
	}

	LevelObjectTableBuilder.addObject(0x2070, 0x0700, OBJECTTABLE1_02, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x2080, 0x0480, OBJECTTABLE1_02, 0x01, 0)

	if (addEnemiesToSonic3Layout)
	{
		LevelObjectTableBuilder.addObject(0x2080, 0x0970, OBJECTTABLE1_a5, 0x00, 0)
	}

	LevelObjectTableBuilder.addObject(0x20a0, 0x01a0, OBJECTTABLE1_47, 0x52, 0)
	LevelObjectTableBuilder.addObject(0x20ac, 0x0736, OBJECTTABLE1_08, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x20c0, 0x04c8, OBJECTTABLE1_02, 0x05, 0)
	LevelObjectTableBuilder.addObject(0x20c0, 0x04d0, OBJECTTABLE1_4c, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x20e0, 0x0ae0, OBJECTTABLE1_0d, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x2100, 0x0900, OBJECTTABLE1_4e, 0x10, LVLOBJ_FLIP_X | LVLOBJ_IGNORE_Y)
	LevelObjectTableBuilder.addObject(0x2100, 0x0ae0, OBJECTTABLE1_0d, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x2120, 0x0418, OBJECTTABLE1_02, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x2180, 0x0280, OBJECTTABLE1_4e, 0x30, LVLOBJ_IGNORE_Y)

	if (addEnemiesToSonic3Layout)
	{
		LevelObjectTableBuilder.addObject(0x2180, 0x0970, OBJECTTABLE1_a5, 0x00, 0)
	}

	LevelObjectTableBuilder.addObject(0x21a0, 0x0774, OBJECTTABLE1_a4, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x21e0, 0x0604, OBJECTTABLE1_44, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x21e0, 0x0618, OBJECTTABLE1_02, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x2200, 0x0458, OBJECTTABLE1_02, 0x0d, 0)
	LevelObjectTableBuilder.addObject(0x2200, 0x070c, OBJECTTABLE1_a4, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x2200, 0x0900, OBJECTTABLE1_4e, 0x10, LVLOBJ_IGNORE_Y)
	LevelObjectTableBuilder.addObject(0x2260, 0x0774, OBJECTTABLE1_a4, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2280, 0x0280, OBJECTTABLE1_4e, 0x30, LVLOBJ_FLIP_X | LVLOBJ_IGNORE_Y)
	LevelObjectTableBuilder.addObject(0x2280, 0x05b0, OBJECTTABLE1_08, 0x01, LVLOBJ_FLIP_Y)

	if (addEnemiesToSonic3Layout)
	{
		LevelObjectTableBuilder.addObject(0x2280, 0x0970, OBJECTTABLE1_a5, 0x00, 0)
	}

	LevelObjectTableBuilder.addObject(0x22b8, 0x0bb0, OBJECTTABLE1_07, 0x10, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x22d9, 0x05e0, OBJECTTABLE1_3c, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x22e0, 0x0ac0, OBJECTTABLE1_47, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x22f2, 0x0144, OBJECTTABLE1_08, 0x70, 0)
	LevelObjectTableBuilder.addObject(0x22f8, 0x0710, OBJECTTABLE1_08, 0x10, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x2300, 0x0900, OBJECTTABLE1_4e, 0x10, LVLOBJ_FLIP_X | LVLOBJ_IGNORE_Y)
	LevelObjectTableBuilder.addObject(0x2300, 0x0a2a, OBJECTTABLE1_28, 0x71, 0)
	LevelObjectTableBuilder.addObject(0x2320, 0x0ac0, OBJECTTABLE1_47, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2370, 0x0610, OBJECTTABLE1_46, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x2380, 0x0460, OBJECTTABLE1_47, 0x41, LVLOBJ_FLIP_X)

	if (addEnemiesToSonic3Layout)
	{
		LevelObjectTableBuilder.addObject(0x2388, 0x0b74, OBJECTTABLE1_a4, 0x00, 0)
	}

	LevelObjectTableBuilder.addObject(0x23b0, 0x0620, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x23b8, 0x0750, OBJECTTABLE1_07, 0x12, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x23c0, 0x0248, OBJECTTABLE1_85, 0x03, 0)

	if (addEnemiesToSonic3Layout)
	{
		LevelObjectTableBuilder.addObject(0x23c8, 0x0b0c, OBJECTTABLE1_a4, 0x00, LVLOBJ_FLIP_Y)
	}

	LevelObjectTableBuilder.addObject(0x23d0, 0x0630, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x23e0, 0x09e0, OBJECTTABLE1_2a, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x23e0, 0x0a68, OBJECTTABLE1_34, 0x8a, 0)

	// This object is originally not in the Sonic 3 layouts, but is meant as a fix for collision, so we include it anyways
	LevelObjectTableBuilder.addObject(0x23e8, 0x0bb0, OBJECTTABLE1_6b, 0x14, LVLOBJ_FLIP_X)

	LevelObjectTableBuilder.addObject(0x23f0, 0x0640, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2410, 0x0650, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2430, 0x0660, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2440, 0x0bd0, OBJECTTABLE1_08, 0x30, 0)
	LevelObjectTableBuilder.addObject(0x2450, 0x0670, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2460, 0x00f0, OBJECTTABLE1_a3, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2470, 0x0680, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2480, 0x0ba0, OBJECTTABLE1_47, 0x53, 0)
	LevelObjectTableBuilder.addObject(0x2490, 0x02a0, OBJECTTABLE1_28, 0x13, 0)
	LevelObjectTableBuilder.addObject(0x2490, 0x0690, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x24a4, 0x0570, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x24b0, 0x06a0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x24c0, 0x0088, OBJECTTABLE1_a5, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x24c0, 0x0109, OBJECTTABLE1_3c, 0x80, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x24c0, 0x02a0, OBJECTTABLE1_48, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x24c0, 0x02c8, OBJECTTABLE1_3c, 0x80, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x24c0, 0x03a0, OBJECTTABLE1_48, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x24c0, 0x0570, OBJECTTABLE1_01, 0x06, 0)
	LevelObjectTableBuilder.addObject(0x24c0, 0x0bd0, OBJECTTABLE1_08, 0x30, 0)
	LevelObjectTableBuilder.addObject(0x24d0, 0x06b0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x24dc, 0x0570, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x24f0, 0x06c0, OBJECTTABLE1_46, 0x00, 0)

	// This object is originally not in the Sonic 3 layouts, but is meant as a fix for collision, so we include it anyways
	LevelObjectTableBuilder.addObject(0x2518, 0x0ba0, OBJECTTABLE1_6b, 0x15, LVLOBJ_FLIP_X)

	LevelObjectTableBuilder.addObject(0x2520, 0x06d0, OBJECTTABLE1_46, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x2540, 0x0450, OBJECTTABLE1_46, 0x30, 0)
	LevelObjectTableBuilder.addObject(0x2550, 0x08b0, OBJECTTABLE1_01, 0x05, 0)
	LevelObjectTableBuilder.addObject(0x2580, 0x028f, OBJECTTABLE1_4a, 0x80, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2580, 0x028f, OBJECTTABLE1_4a, 0x2b, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2580, 0x028f, OBJECTTABLE1_4a, 0xd5, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2590, 0x0530, OBJECTTABLE1_01, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x25b0, 0x00c0, OBJECTTABLE1_47, 0x45, 0)
	LevelObjectTableBuilder.addObject(0x25b0, 0x0118, OBJECTTABLE1_6b, 0x31, 0)
	LevelObjectTableBuilder.addObject(0x25c0, 0x0460, OBJECTTABLE1_46, 0x80, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x25c0, 0x0638, OBJECTTABLE1_49, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x25c8, 0x092f, OBJECTTABLE1_07, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x25e0, 0x0b50, OBJECTTABLE1_46, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x2600, 0x07d0, OBJECTTABLE1_46, 0x70, 0)
	LevelObjectTableBuilder.addObject(0x2610, 0x0470, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2610, 0x0b40, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2630, 0x0480, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2630, 0x0b30, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2650, 0x0490, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2650, 0x0b20, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2660, 0x0950, OBJECTTABLE1_46, 0x13, 0)
	LevelObjectTableBuilder.addObject(0x2670, 0x04a0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2670, 0x0b10, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2690, 0x0b00, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x26a0, 0x00d0, OBJECTTABLE1_a3, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x26a0, 0x07d0, OBJECTTABLE1_46, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x26b0, 0x0af0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x26c0, 0x04b8, OBJECTTABLE1_46, 0x80, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x26c8, 0x032f, OBJECTTABLE1_07, 0x12, 0)
	LevelObjectTableBuilder.addObject(0x26d0, 0x0ae0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x26d8, 0x02a0, OBJECTTABLE1_41, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x26f0, 0x09d0, OBJECTTABLE1_46, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x2710, 0x0ad0, OBJECTTABLE1_46, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x2718, 0x02d0, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x2720, 0x04d0, OBJECTTABLE1_46, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x2730, 0x09e0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2738, 0x0650, OBJECTTABLE1_07, 0x10, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2738, 0x07b0, OBJECTTABLE1_07, 0x12, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2750, 0x09f0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2770, 0x0a00, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2790, 0x0a10, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x27a0, 0x02ed, OBJECTTABLE1_08, 0x01, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x27b0, 0x0a20, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x27d0, 0x0a30, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x27f0, 0x0a40, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2810, 0x0460, OBJECTTABLE1_4a, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2810, 0x0460, OBJECTTABLE1_4a, 0x80, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2810, 0x0460, OBJECTTABLE1_4a, 0x2b, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2810, 0x0460, OBJECTTABLE1_4a, 0xd5, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2818, 0x0610, OBJECTTABLE1_a3, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2820, 0x0a50, OBJECTTABLE1_46, 0x13, 0)
	LevelObjectTableBuilder.addObject(0x2840, 0x0760, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2860, 0x0370, OBJECTTABLE1_a3, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2870, 0x0190, OBJECTTABLE1_4d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x28a0, 0x04e0, OBJECTTABLE1_47, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x28c0, 0x0270, OBJECTTABLE1_a3, 0x00, 0)

	if (addEnemiesToSonic3Layout)
	{
		LevelObjectTableBuilder.addObject(0x28d8, 0x0a30, OBJECTTABLE1_a3, 0x00, 0)
	}

	LevelObjectTableBuilder.addObject(0x28f0, 0x0210, OBJECTTABLE1_4d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2920, 0x03e0, OBJECTTABLE1_47, 0x46, 0)

	// Move this thing down to prevent a random crushing bug
	LevelObjectTableBuilder.addObject(0x2920, 0x0458 + 8, OBJECTTABLE1_6b, 0x31, 0)

	LevelObjectTableBuilder.addObject(0x2920, 0x0a30, OBJECTTABLE1_08, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x2980, 0x06c0, OBJECTTABLE1_4e, 0x28, LVLOBJ_FLIP_X | LVLOBJ_IGNORE_Y)
	LevelObjectTableBuilder.addObject(0x2980, 0x0a30, OBJECTTABLE1_08, 0x30, 0)
	LevelObjectTableBuilder.addObject(0x2a70, 0x02a8, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x2a80, 0x0700, OBJECTTABLE1_4e, 0x30, LVLOBJ_IGNORE_Y)
	LevelObjectTableBuilder.addObject(0x2a90, 0x0968, OBJECTTABLE1_28, 0x31, 0)
	LevelObjectTableBuilder.addObject(0x2a90, 0x09c0, OBJECTTABLE1_47, 0x45, 0)
	LevelObjectTableBuilder.addObject(0x2aa0, 0x029c, OBJECTTABLE1_41, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x2ad0, 0x02a4, OBJECTTABLE1_41, 0x01, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) == 2)
	{
		LevelObjectTableBuilder.addObject(0x2ae4, 0x09f4, OBJECTTABLE1_a4, 0x00, 0)
		LevelObjectTableBuilder.addObject(0x2b40, 0x02a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
		LevelObjectTableBuilder.addObject(0x2b54, 0x098c, OBJECTTABLE1_a4, 0x00, LVLOBJ_FLIP_Y)
	}
	else
	{
		LevelObjectTableBuilder.addObject(0x2af0, 0x0968, OBJECTTABLE1_28, 0x31, 0)
		LevelObjectTableBuilder.addObject(0x2af0, 0x09c0, OBJECTTABLE1_47, 0x45, LVLOBJ_FLIP_X)
		LevelObjectTableBuilder.addObject(0x2b40, 0x02a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
		LevelObjectTableBuilder.addObject(0x2b50, 0x0968, OBJECTTABLE1_28, 0x31, 0)
		LevelObjectTableBuilder.addObject(0x2b50, 0x09c0, OBJECTTABLE1_47, 0x45, 0)
	}

	LevelObjectTableBuilder.addObject(0x2b80, 0x0700, OBJECTTABLE1_4e, 0x30, LVLOBJ_FLIP_X | LVLOBJ_IGNORE_Y)
	LevelObjectTableBuilder.addObject(0x2bd8, 0x02a0, OBJECTTABLE1_3c, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x2bff, 0x0990, OBJECTTABLE1_08, 0x30, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x2c00, 0x0a10, OBJECTTABLE1_43, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2c00, 0x0b70, OBJECTTABLE1_08, 0x30, 0)
	LevelObjectTableBuilder.addObject(0x2c10, 0x04a0, OBJECTTABLE1_28, 0x13, 0)
	LevelObjectTableBuilder.addObject(0x2c30, 0x0760, OBJECTTABLE1_08, 0x70, 0)
	LevelObjectTableBuilder.addObject(0x2c40, 0x02c8, OBJECTTABLE1_3c, 0x80, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x2c40, 0x04a0, OBJECTTABLE1_48, 0x20, 0)

	if (addEnemiesToSonic3Layout)
	{
		LevelObjectTableBuilder.addObject(0x2c80, 0x0af0, OBJECTTABLE1_a5, 0x00, 0)
	}

	LevelObjectTableBuilder.addObject(0x2c9c, 0x0674, OBJECTTABLE1_08, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x2cc0, 0x02a8, OBJECTTABLE1_34, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x2ce8, 0x0670, OBJECTTABLE1_01, 0x07, 0)
	LevelObjectTableBuilder.addObject(0x2cff, 0x0b70, OBJECTTABLE1_08, 0x30, 0)
	LevelObjectTableBuilder.addObject(0x2d00, 0x0a78, OBJECTTABLE1_43, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2d00, 0x0b40, OBJECTTABLE1_47, 0x41, 0)
	LevelObjectTableBuilder.addObject(0x2d20, 0x04d0, OBJECTTABLE1_a3, 0x00, 0)

	// This object is originally not in the Sonic 3 layouts, but is meant as a fix for collision, so we include it anyways
	LevelObjectTableBuilder.addObject(0x2d58, 0x0b40, OBJECTTABLE1_6b, 0x15, LVLOBJ_FLIP_X)

	LevelObjectTableBuilder.addObject(0x2d60, 0x0800, OBJECTTABLE1_47, 0x45, 0)

	// Move this thing down to prevent a random crushing bug
	LevelObjectTableBuilder.addObject(0x2d64, 0x0854 + 0x0c, OBJECTTABLE1_6b, 0x21, 0)

	LevelObjectTableBuilder.addObject(0x2d88, 0x0aa8, OBJECTTABLE1_34, 0x8b, 0)
	LevelObjectTableBuilder.addObject(0x2db1, 0x09e0, OBJECTTABLE1_08, 0x50, 0)
	LevelObjectTableBuilder.addObject(0x2dc0, 0x064c, OBJECTTABLE1_85, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x2e00, 0x04b0, OBJECTTABLE1_08, 0x01, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x2e70, 0x0a40, OBJECTTABLE1_43, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2ec0, 0x05c8, OBJECTTABLE1_3c, 0x80, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x2ec0, 0x0820, OBJECTTABLE1_48, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x2ec0, 0x0acc, OBJECTTABLE1_85, 0x05, 0)
	LevelObjectTableBuilder.addObject(0x2ef0, 0x0820, OBJECTTABLE1_28, 0x13, 0)
	LevelObjectTableBuilder.addObject(0x2ef8, 0x05d4, OBJECTTABLE1_28, 0x21, 0)
	LevelObjectTableBuilder.addObject(0x3020, 0x0220, OBJECTTABLE1_3c, 0x01, LVLOBJ_IGNORE_Y)
	LevelObjectTableBuilder.addObject(0x3020, 0x0920, OBJECTTABLE1_3c, 0x01, LVLOBJ_IGNORE_Y)
	LevelObjectTableBuilder.addObject(0x3024, 0x04f0, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x3040, 0x04f0, OBJECTTABLE1_01, 0x06, 0)
	LevelObjectTableBuilder.addObject(0x305c, 0x04f0, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x3078, 0x09a0, OBJECTTABLE1_3c, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x3260, 0x04d0, OBJECTTABLE1_80, 0x03, LVLOBJ_IGNORE_Y)
	LevelObjectTableBuilder.addObject(0x3290, 0x04d0, OBJECTTABLE1_80, 0x07, LVLOBJ_IGNORE_Y)
	LevelObjectTableBuilder.addObject(0x32c0, 0x020c, OBJECTTABLE1_a6, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x32e0, 0x04d0, OBJECTTABLE1_80, 0x06, LVLOBJ_IGNORE_Y)

	u16[A0] = 0xffff
	A0 += 2
}


function void LevelObjectTableBuilder.buildObjects_CNZ2()
{
	// Add missing wheel objects only if SETTING_FIX_GLITCHES is active, otherwise they break the game
	// (after all, there is the reason why they are not present in the original game)
	bool addMissingWheelObjects = Game.getSetting(SETTING_FIX_GLITCHES)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) == 2)
	{
		// Add some more magnetic barriers to gain speed earlier
		LevelObjectTableBuilder.addObject(0x04c0, 0x06a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
		LevelObjectTableBuilder.addObject(0x0540, 0x06a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
		LevelObjectTableBuilder.addObject(0x05c0, 0x06a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
		LevelObjectTableBuilder.addObject(0x0640, 0x06a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
		LevelObjectTableBuilder.addObject(0x06c0, 0x06a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	}

	LevelObjectTableBuilder.addObject(0x0840, 0x06a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x08c0, 0x06a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x0940, 0x06a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x09c0, 0x06a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x0a40, 0x06a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x0af0, 0x0610, OBJECTTABLE1_4d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0b70, 0x0690, OBJECTTABLE1_4d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0bf0, 0x0710, OBJECTTABLE1_4d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0c28, 0x0830, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x0c48, 0x0830, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x0c60, 0x09a0, OBJECTTABLE1_47, 0x42, 0)
	LevelObjectTableBuilder.addObject(0x0c68, 0x0830, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x0c70, 0x0790, OBJECTTABLE1_4d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0ca0, 0x08a0, OBJECTTABLE1_47, 0x46, 0)
	LevelObjectTableBuilder.addObject(0x0cc0, 0x0250, OBJECTTABLE1_28, 0x31, 0)
	LevelObjectTableBuilder.addObject(0x0cc0, 0x0448, OBJECTTABLE1_28, 0x31, 0)
	LevelObjectTableBuilder.addObject(0x0cd0, 0x0230, OBJECTTABLE1_01, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x0cd0, 0x0980, OBJECTTABLE1_28, 0x13, 0)
	LevelObjectTableBuilder.addObject(0x0ce8, 0x0950, OBJECTTABLE1_a3, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0cf0, 0x0810, OBJECTTABLE1_4d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0cf0, 0x08e0, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x0d18, 0x0950, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x0d40, 0x0448, OBJECTTABLE1_3c, 0x80, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x0d40, 0x06b0, OBJECTTABLE1_48, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x0d40, 0x0910, OBJECTTABLE1_41, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x0d70, 0x0890, OBJECTTABLE1_4d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0d7d, 0x0730, OBJECTTABLE1_08, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0d80, 0x0280, OBJECTTABLE1_47, 0x49, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x0da8, 0x0330, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x0da8, 0x0430, OBJECTTABLE1_a3, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0dd8, 0x0310, OBJECTTABLE1_41, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x0df0, 0x0910, OBJECTTABLE1_4d, 0x00, 0)

	// Move these spikes 4 pixels down so they are inside the ground when retracted
	LevelObjectTableBuilder.addObject(0x0e00, 0x0390 + 4, OBJECTTABLE1_08, 0x01, 0)

	LevelObjectTableBuilder.addObject(0x0e00, 0x0a20, OBJECTTABLE1_a5, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0e08, 0x0aa0, OBJECTTABLE1_02, 0x08, 0)

	// Move these spikes 4 pixels down so they are inside the ground when retracted
	LevelObjectTableBuilder.addObject(0x0e54, 0x0370 + 4, OBJECTTABLE1_08, 0x01, 0)

	LevelObjectTableBuilder.addObject(0x0e70, 0x0990, OBJECTTABLE1_4d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0e80, 0x0a80, OBJECTTABLE1_02, 0x0e, 0)
	LevelObjectTableBuilder.addObject(0x0e88, 0x040e, OBJECTTABLE1_07, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x0e88, 0x042f, OBJECTTABLE1_07, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x0ea0, 0x0300, OBJECTTABLE1_47, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0ec8, 0x052f, OBJECTTABLE1_07, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x0ee0, 0x03a0, OBJECTTABLE1_2a, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x0ef0, 0x0450, OBJECTTABLE1_46, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x0ef0, 0x0a10, OBJECTTABLE1_4d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0f20, 0x03a0, OBJECTTABLE1_2a, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x0f24, 0x0770, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x0f30, 0x02b0, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x0f30, 0x0460, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0f40, 0x0770, OBJECTTABLE1_01, 0x07, 0)
	LevelObjectTableBuilder.addObject(0x0f40, 0x084c, OBJECTTABLE1_85, 0x06, 0)
	LevelObjectTableBuilder.addObject(0x0f40, 0x0998, OBJECTTABLE1_4a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0f40, 0x0998, OBJECTTABLE1_4a, 0x80, 0)
	LevelObjectTableBuilder.addObject(0x0f40, 0x0998, OBJECTTABLE1_4a, 0x2b, 0)
	LevelObjectTableBuilder.addObject(0x0f40, 0x0998, OBJECTTABLE1_4a, 0xd5, 0)
	LevelObjectTableBuilder.addObject(0x0f50, 0x0470, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0f5c, 0x0770, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x0f70, 0x0480, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0f80, 0x09c0, OBJECTTABLE1_02, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x0f80, 0x0a60, OBJECTTABLE1_02, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0f90, 0x0490, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0fb0, 0x04a0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0fc0, 0x0550, OBJECTTABLE1_46, 0x30, 0)
	LevelObjectTableBuilder.addObject(0x0fd0, 0x04b0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0ff0, 0x04c0, OBJECTTABLE1_46, 0x00, 0)

	if (addMissingWheelObjects)
	{
		LevelObjectTableBuilder.addObject(0x1000, 0x0a38, OBJECTTABLE1_49, 0x00, 0)
	}

	LevelObjectTableBuilder.addObject(0x1010, 0x0540, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1030, 0x0530, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1050, 0x0520, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1051, 0x0770, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x1068, 0x04a8, OBJECTTABLE1_4a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1068, 0x04a8, OBJECTTABLE1_4a, 0x80, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1068, 0x04a8, OBJECTTABLE1_4a, 0x2b, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1068, 0x04a8, OBJECTTABLE1_4a, 0xd5, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1070, 0x0510, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1080, 0x0700, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x1090, 0x0510, OBJECTTABLE1_46, 0x80, 0)
	LevelObjectTableBuilder.addObject(0x10a8, 0x0768, OBJECTTABLE1_42, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x10b0, 0x0510, OBJECTTABLE1_46, 0x80, 0)
	LevelObjectTableBuilder.addObject(0x10c8, 0x0670, OBJECTTABLE1_41, 0x00, 0)

	// Move these spikes 4 pixels down so they are inside the ground when retracted
	LevelObjectTableBuilder.addObject(0x10d0, 0x0472 + 4, OBJECTTABLE1_08, 0x01, 0)

	LevelObjectTableBuilder.addObject(0x10e0, 0x05d0, OBJECTTABLE1_46, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x10e8, 0x06b0, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x10f8, 0x0720, OBJECTTABLE1_41, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x1110, 0x03b4, OBJECTTABLE1_28, 0x12, 0)
	LevelObjectTableBuilder.addObject(0x1150, 0x0600, OBJECTTABLE1_4a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1150, 0x0600, OBJECTTABLE1_4a, 0x80, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1150, 0x0600, OBJECTTABLE1_4a, 0x2b, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1150, 0x0600, OBJECTTABLE1_4a, 0xd5, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1170, 0x08b0, OBJECTTABLE1_08, 0x30, 0)
	LevelObjectTableBuilder.addObject(0x1180, 0x0880, OBJECTTABLE1_43, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1180, 0x09a0, OBJECTTABLE1_02, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1180, 0x0aa0, OBJECTTABLE1_02, 0x11, 0)
	LevelObjectTableBuilder.addObject(0x11c0, 0x0440, OBJECTTABLE1_a5, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1220, 0x0990, OBJECTTABLE1_08, 0x10, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1248, 0x08cf, OBJECTTABLE1_07, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x1260, 0x04a0, OBJECTTABLE1_47, 0x46, 0)
	LevelObjectTableBuilder.addObject(0x1280, 0x09d0, OBJECTTABLE1_08, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x12a4, 0x0af0, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x12c0, 0x0af0, OBJECTTABLE1_01, 0x07 | 0x10, 0)
	LevelObjectTableBuilder.addObject(0x12dc, 0x0af0, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x12e0, 0x04a0, OBJECTTABLE1_47, 0x62, 0)
	LevelObjectTableBuilder.addObject(0x12e1, 0x0990, OBJECTTABLE1_08, 0x10, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x12f8, 0x0640, OBJECTTABLE1_41, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x1300, 0x06c0, OBJECTTABLE1_41, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x1308, 0x05f0, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x1320, 0x0678, OBJECTTABLE1_41, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x1360, 0x04d0, OBJECTTABLE1_46, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x1380, 0x06d0, OBJECTTABLE1_08, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1380, 0x0878, OBJECTTABLE1_4b, 0x80, LVLOBJ_FLIP_X | LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1380, 0x08d8, OBJECTTABLE1_4b, 0x80, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x13c0, 0x024c, OBJECTTABLE1_85, 0x07, 0)
	LevelObjectTableBuilder.addObject(0x13c0, 0x04d0, OBJECTTABLE1_46, 0x80, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x13c0, 0x0540, OBJECTTABLE1_47, 0x43, 0)
	LevelObjectTableBuilder.addObject(0x13e8, 0x06e8, OBJECTTABLE1_41, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x13f8, 0x0680, OBJECTTABLE1_41, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x1400, 0x0990, OBJECTTABLE1_4a, 0x80, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1400, 0x0990, OBJECTTABLE1_4a, 0x2b, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1400, 0x0990, OBJECTTABLE1_4a, 0xd5, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1410, 0x0620, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x1420, 0x04d0, OBJECTTABLE1_46, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x1420, 0x06d8, OBJECTTABLE1_41, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x1428, 0x0b64, OBJECTTABLE1_6b, 0x13, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1440, 0x0878, OBJECTTABLE1_4b, 0x40, LVLOBJ_FLIP_X | LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1440, 0x08d8, OBJECTTABLE1_4b, 0x40, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1440, 0x0ae0, OBJECTTABLE1_47, 0x42, 0)
	LevelObjectTableBuilder.addObject(0x1480, 0x0710, OBJECTTABLE1_08, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1480, 0x0b60, OBJECTTABLE1_47, 0x41, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1490, 0x0188, OBJECTTABLE1_a5, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1490, 0x0a40, OBJECTTABLE1_28, 0x11, 0)
	LevelObjectTableBuilder.addObject(0x14a0, 0x0870, OBJECTTABLE1_08, 0x01, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x14d0, 0x0b08, OBJECTTABLE1_28, 0x13, 0)
	LevelObjectTableBuilder.addObject(0x14e0, 0x0200, OBJECTTABLE1_47, 0x45, 0)

	// Move this thing down to prevent a random crushing bug
	LevelObjectTableBuilder.addObject(0x14e0, 0x0258 + 8, OBJECTTABLE1_6b, 0x31, 0)

	LevelObjectTableBuilder.addObject(0x14e8, 0x06c0, OBJECTTABLE1_41, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x1500, 0x0710, OBJECTTABLE1_41, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x1500, 0x0772, OBJECTTABLE1_08, 0x30, 0)
	LevelObjectTableBuilder.addObject(0x1510, 0x03e0, OBJECTTABLE1_28, 0x13, 0)
	LevelObjectTableBuilder.addObject(0x1518, 0x0680, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x1528, 0x06e0, OBJECTTABLE1_41, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x1530, 0x09d8, OBJECTTABLE1_4b, 0x78, 0)
	LevelObjectTableBuilder.addObject(0x1540, 0x0248, OBJECTTABLE1_3c, 0x80, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1540, 0x03e0, OBJECTTABLE1_48, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x1540, 0x0408, OBJECTTABLE1_3c, 0x80, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1540, 0x04a0, OBJECTTABLE1_48, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x1540, 0x0b60, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1550, 0x0a78, OBJECTTABLE1_4b, 0x50, LVLOBJ_FLIP_X | LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1570, 0x04a0, OBJECTTABLE1_28, 0x13, 0)
	LevelObjectTableBuilder.addObject(0x1580, 0x0978, OBJECTTABLE1_4b, 0x80, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1580, 0x0ad8, OBJECTTABLE1_4b, 0x80, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x15ba, 0x0690, OBJECTTABLE1_07, 0x12, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x15c0, 0x0b60, OBJECTTABLE1_41, 0x80, 0)
	LevelObjectTableBuilder.addObject(0x15f0, 0x0674, OBJECTTABLE1_a4, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x15f8, 0x0b68, OBJECTTABLE1_41, 0x81, 0)
	LevelObjectTableBuilder.addObject(0x1600, 0x0890, OBJECTTABLE1_08, 0x20, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1620, 0x03a0, OBJECTTABLE1_47, 0x46, 0)

	// Move this thing down to prevent a random crushing bug
	LevelObjectTableBuilder.addObject(0x1620, 0x0418 + 8, OBJECTTABLE1_6b, 0x31, 0)

	LevelObjectTableBuilder.addObject(0x1630, 0x0b60, OBJECTTABLE1_41, 0x82, 0)
	LevelObjectTableBuilder.addObject(0x1640, 0x01a0, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x1640, 0x054c, OBJECTTABLE1_85, 0x08, 0)
	LevelObjectTableBuilder.addObject(0x1660, 0x060c, OBJECTTABLE1_a4, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1670, 0x0b58, OBJECTTABLE1_41, 0x84, 0)
	LevelObjectTableBuilder.addObject(0x16a0, 0x0230, OBJECTTABLE1_a3, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x16d0, 0x02b0, OBJECTTABLE1_01, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x16e0, 0x0674, OBJECTTABLE1_a4, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x16e0, 0x08d0, OBJECTTABLE1_46, 0x13, 0)
	LevelObjectTableBuilder.addObject(0x16f0, 0x0410, OBJECTTABLE1_a3, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x16f4, 0x0130, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x1710, 0x0250, OBJECTTABLE1_46, 0x40, 0)
	LevelObjectTableBuilder.addObject(0x1710, 0x0950, OBJECTTABLE1_46, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x1712, 0x0130, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x1730, 0x0130, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x1730, 0x0b40, OBJECTTABLE1_47, 0x45, 0)

	// Move this thing down to prevent a random crushing bug
	LevelObjectTableBuilder.addObject(0x1730, 0x0b98 + 8, OBJECTTABLE1_6b, 0x31, 0)

	LevelObjectTableBuilder.addObject(0x1748, 0x09ef, OBJECTTABLE1_07, 0x12, 0)
	LevelObjectTableBuilder.addObject(0x1760, 0x06a0, OBJECTTABLE1_47, 0x30, 0)
	LevelObjectTableBuilder.addObject(0x1760, 0x08d0, OBJECTTABLE1_4a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1760, 0x08d0, OBJECTTABLE1_4a, 0x80, 0)
	LevelObjectTableBuilder.addObject(0x1760, 0x08d0, OBJECTTABLE1_4a, 0x2b, 0)
	LevelObjectTableBuilder.addObject(0x1760, 0x08d0, OBJECTTABLE1_4a, 0xd5, 0)
	LevelObjectTableBuilder.addObject(0x1770, 0x0260, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1770, 0x0430, OBJECTTABLE1_a3, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1770, 0x0950, OBJECTTABLE1_46, 0x40, 0)
	LevelObjectTableBuilder.addObject(0x1774, 0x07b0, OBJECTTABLE1_08, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x1790, 0x0270, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1790, 0x0ac0, OBJECTTABLE1_08, 0x70, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x17b0, 0x0280, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x17b0, 0x0510, OBJECTTABLE1_01, 0x05, 0)
	LevelObjectTableBuilder.addObject(0x17c0, 0x0210, OBJECTTABLE1_4a, 0x80, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x17c0, 0x0210, OBJECTTABLE1_4a, 0x2b, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x17c0, 0x0210, OBJECTTABLE1_4a, 0xd5, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x17c0, 0x0770, OBJECTTABLE1_08, 0x11, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x17d0, 0x0290, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x17d0, 0x0510, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x17d0, 0x0a08, OBJECTTABLE1_46, 0x80, 0)
	LevelObjectTableBuilder.addObject(0x17e0, 0x0b3c, OBJECTTABLE1_47, 0x41, 0)
	LevelObjectTableBuilder.addObject(0x17e8, 0x0334, OBJECTTABLE1_08, 0x11, 0)
	LevelObjectTableBuilder.addObject(0x17f0, 0x02a0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x17f0, 0x0a08, OBJECTTABLE1_46, 0x80, 0)
	LevelObjectTableBuilder.addObject(0x1800, 0x0aa0, OBJECTTABLE1_46, 0x83, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1804, 0x0930, OBJECTTABLE1_a3, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1810, 0x02b0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1810, 0x07b0, OBJECTTABLE1_08, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x1810, 0x0a18, OBJECTTABLE1_46, 0x80, 0)
	LevelObjectTableBuilder.addObject(0x1820, 0x0620, OBJECTTABLE1_47, 0x40, 0)
	LevelObjectTableBuilder.addObject(0x1830, 0x02c0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1830, 0x0931, OBJECTTABLE1_01, 0x08, 0)
	LevelObjectTableBuilder.addObject(0x1830, 0x0a18, OBJECTTABLE1_46, 0x80, 0)
	LevelObjectTableBuilder.addObject(0x1850, 0x0aa0, OBJECTTABLE1_46, 0x82, 0)
	LevelObjectTableBuilder.addObject(0x1860, 0x0418, OBJECTTABLE1_a5, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1868, 0x0250, OBJECTTABLE1_4a, 0x80, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1868, 0x0250, OBJECTTABLE1_4a, 0x2b, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1868, 0x0250, OBJECTTABLE1_4a, 0xd5, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1870, 0x0aa0, OBJECTTABLE1_46, 0x82, 0)
	LevelObjectTableBuilder.addObject(0x1880, 0x0b88, OBJECTTABLE1_46, 0x80, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1880, 0x0bb0, OBJECTTABLE1_08, 0x30, 0)
	LevelObjectTableBuilder.addObject(0x18a0, 0x02d0, OBJECTTABLE1_46, 0x50, 0)
	LevelObjectTableBuilder.addObject(0x18a0, 0x0a28, OBJECTTABLE1_34, 0x84, 0)
	LevelObjectTableBuilder.addObject(0x18b0, 0x0470, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x18d2, 0x0ae0, OBJECTTABLE1_0d, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x18f2, 0x0ae0, OBJECTTABLE1_0d, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x1912, 0x0ae0, OBJECTTABLE1_0d, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x1940, 0x0ae0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x19c8, 0x04af, OBJECTTABLE1_07, 0x12, 0)
	LevelObjectTableBuilder.addObject(0x1a00, 0x0290, OBJECTTABLE1_4a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1a00, 0x02b0, OBJECTTABLE1_4a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1a00, 0x02d0, OBJECTTABLE1_4a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1a00, 0x02f0, OBJECTTABLE1_4a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1a24, 0x06a0, OBJECTTABLE1_6b, 0x13, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1a24, 0x0710, OBJECTTABLE1_6b, 0x13, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1a48, 0x0568, OBJECTTABLE1_41, 0x84, 0)
	LevelObjectTableBuilder.addObject(0x1a60, 0x01f0, OBJECTTABLE1_6b, 0x50, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1a60, 0x04e0, OBJECTTABLE1_88, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x1a80, 0x02c0, OBJECTTABLE1_47, 0x41, 0)
	LevelObjectTableBuilder.addObject(0x1a80, 0x06a0, OBJECTTABLE1_47, 0x41, 0)
	LevelObjectTableBuilder.addObject(0x1a80, 0x0710, OBJECTTABLE1_47, 0x41, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1a98, 0x0588, OBJECTTABLE1_41, 0x82, 0)
	LevelObjectTableBuilder.addObject(0x1aa0, 0x04e0, OBJECTTABLE1_88, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x1aa0, 0x0b8c, OBJECTTABLE1_08, 0x10, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1ada, 0x06a8, OBJECTTABLE1_6b, 0x12, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1ada, 0x0710, OBJECTTABLE1_6b, 0x12, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1ae0, 0x02f1, OBJECTTABLE1_08, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x1ae0, 0x0420, OBJECTTABLE1_47, 0x42, 0)
	LevelObjectTableBuilder.addObject(0x1ae0, 0x0968, OBJECTTABLE1_47, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x1af0, 0x05a1, OBJECTTABLE1_0d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1b05, 0x0870, OBJECTTABLE1_41, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1b10, 0x05a1, OBJECTTABLE1_0d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1b10, 0x0950, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1b2c, 0x0674, OBJECTTABLE1_08, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x1b30, 0x07d0, OBJECTTABLE1_46, 0x60, 0)
	LevelObjectTableBuilder.addObject(0x1b30, 0x08e0, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x1b30, 0x0960, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1b38, 0x0490, OBJECTTABLE1_07, 0x12, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1b40, 0x05a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1b50, 0x0970, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1b60, 0x028e, OBJECTTABLE1_08, 0x10, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1b70, 0x0918, OBJECTTABLE1_41, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x1b70, 0x0980, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1b78, 0x08b0, OBJECTTABLE1_41, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x1b80, 0x040c, OBJECTTABLE1_a4, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1b80, 0x0474, OBJECTTABLE1_a4, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1b80, 0x0a30, OBJECTTABLE1_01, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x1b90, 0x0990, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1ba0, 0x0840, OBJECTTABLE1_41, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x1ba8, 0x0b30, OBJECTTABLE1_a3, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1bb0, 0x07e0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1bb0, 0x09a0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1bb8, 0x02e0, OBJECTTABLE1_3c, 0x01, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) != 2)
	{
		// Remove this spring
		LevelObjectTableBuilder.addObject(0x1bc8, 0x06af, OBJECTTABLE1_07, 0x10, 0)
	}

	LevelObjectTableBuilder.addObject(0x1bc8, 0x0b51, OBJECTTABLE1_07, 0x12, 0)
	LevelObjectTableBuilder.addObject(0x1bd0, 0x07f0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1bd0, 0x0870, OBJECTTABLE1_41, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x1bd0, 0x0920, OBJECTTABLE1_46, 0x80, 0)
	LevelObjectTableBuilder.addObject(0x1bd0, 0x09b0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1bf0, 0x040c, OBJECTTABLE1_a4, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1bf0, 0x0474, OBJECTTABLE1_a4, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1bf0, 0x0800, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1bf0, 0x0910, OBJECTTABLE1_46, 0x80, 0)
	LevelObjectTableBuilder.addObject(0x1bf0, 0x09c0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1c00, 0x0308, OBJECTTABLE1_34, 0x05, 0)
	LevelObjectTableBuilder.addObject(0x1c10, 0x0810, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1c10, 0x0900, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1c20, 0x09d0, OBJECTTABLE1_46, 0x13, 0)
	LevelObjectTableBuilder.addObject(0x1c30, 0x0820, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1c30, 0x08f0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1c48, 0x06cf, OBJECTTABLE1_07, 0x12, 0)
	LevelObjectTableBuilder.addObject(0x1c50, 0x0830, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1c50, 0x08e0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1c60, 0x040c, OBJECTTABLE1_a4, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1c60, 0x0474, OBJECTTABLE1_a4, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1c70, 0x0840, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1c70, 0x08d0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1c90, 0x0640, OBJECTTABLE1_28, 0x11, 0)
	LevelObjectTableBuilder.addObject(0x1ca0, 0x08e8, OBJECTTABLE1_47, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x1cc0, 0x05d8, OBJECTTABLE1_4b, 0x80, 0)
	LevelObjectTableBuilder.addObject(0x1cd8, 0x0470, OBJECTTABLE1_08, 0x00, 0)

	// Move this thing down to prevent a random crushing bug
	LevelObjectTableBuilder.addObject(0x1ce0, 0x09d8 + 8, OBJECTTABLE1_6b, 0x31, 0)

	LevelObjectTableBuilder.addObject(0x1d00, 0x0578, OBJECTTABLE1_4b, 0x80, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1d00, 0x0980, OBJECTTABLE1_47, 0x4c, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1d58, 0x09a0, OBJECTTABLE1_6b, 0x14, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1d80, 0x0491, OBJECTTABLE1_43, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1d80, 0x04b4, OBJECTTABLE1_08, 0x30, 0)
	LevelObjectTableBuilder.addObject(0x1d80, 0x0678, OBJECTTABLE1_4b, 0x80, LVLOBJ_FLIP_X | LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1d80, 0x06d8, OBJECTTABLE1_4b, 0x80, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1db0, 0x05d8, OBJECTTABLE1_4b, 0x78, 0)
	LevelObjectTableBuilder.addObject(0x1de0, 0x032c, OBJECTTABLE1_82, 0x0c, 0)
	LevelObjectTableBuilder.addObject(0x1df8, 0x0a50, OBJECTTABLE1_a5, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1e00, 0x0338, OBJECTTABLE1_83, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x1e00, 0x0578, OBJECTTABLE1_4b, 0x80, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1e00, 0x090e, OBJECTTABLE1_08, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1e00, 0x0910, OBJECTTABLE1_4a, 0x80, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1e00, 0x0910, OBJECTTABLE1_4a, 0x2b, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1e00, 0x0910, OBJECTTABLE1_4a, 0xd5, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1e10, 0x0678, OBJECTTABLE1_4b, 0x10, LVLOBJ_FLIP_X | LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1e1d, 0x0328, OBJECTTABLE1_45, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1e58, 0x05e0, OBJECTTABLE1_41, 0x84, 0)
	LevelObjectTableBuilder.addObject(0x1e70, 0x06a0, OBJECTTABLE1_41, 0x81, 0)
	LevelObjectTableBuilder.addObject(0x1e80, 0x0440, OBJECTTABLE1_47, 0x4b, 0)
	LevelObjectTableBuilder.addObject(0x1e80, 0x06d8, OBJECTTABLE1_4b, 0x80, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1e80, 0x0b70, OBJECTTABLE1_08, 0x30, 0)
	LevelObjectTableBuilder.addObject(0x1e9d, 0x0308, OBJECTTABLE1_45, 0x00, 0)

	// Move this thing down to prevent a random crushing bug
	LevelObjectTableBuilder.addObject(0x1ea0, 0x0498 + 8, OBJECTTABLE1_6b, 0x31, 0)

	LevelObjectTableBuilder.addObject(0x1ea0, 0x0628, OBJECTTABLE1_41, 0x82, 0)
	LevelObjectTableBuilder.addObject(0x1ec0, 0x0578, OBJECTTABLE1_4b, 0x40, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1ec0, 0x0b00, OBJECTTABLE1_4a, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1ec0, 0x0b00, OBJECTTABLE1_4a, 0x80, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1ec0, 0x0b00, OBJECTTABLE1_4a, 0x2b, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1ec0, 0x0b00, OBJECTTABLE1_4a, 0xd5, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1ee8, 0x0668, OBJECTTABLE1_41, 0x82, 0)
	LevelObjectTableBuilder.addObject(0x1f00, 0x0b70, OBJECTTABLE1_08, 0x30, 0)
	LevelObjectTableBuilder.addObject(0x1f38, 0x0930, OBJECTTABLE1_07, 0x10, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1f50, 0x08b0, OBJECTTABLE1_4a, 0xd5, 0)
	LevelObjectTableBuilder.addObject(0x1f60, 0x0380, OBJECTTABLE1_2a, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x1f70, 0x08b0, OBJECTTABLE1_4a, 0xd5, 0)
	LevelObjectTableBuilder.addObject(0x1f90, 0x08b0, OBJECTTABLE1_4a, 0xd5, 0)
	LevelObjectTableBuilder.addObject(0x1fa0, 0x0380, OBJECTTABLE1_2a, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x1fac, 0x0b80, OBJECTTABLE1_6b, 0x16, 0)
	LevelObjectTableBuilder.addObject(0x1faf, 0x0438, OBJECTTABLE1_07, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1fb0, 0x08b0, OBJECTTABLE1_4a, 0xd5, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) != 2)
	{
		// Remove this fan
		LevelObjectTableBuilder.addObject(0x1fd0, 0x0928, OBJECTTABLE1_46, 0x82, 0)
	}

	LevelObjectTableBuilder.addObject(0x2000, 0x02e8, OBJECTTABLE1_4a, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2000, 0x02e8, OBJECTTABLE1_4a, 0x80, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2000, 0x02e8, OBJECTTABLE1_4a, 0x2b, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2000, 0x02e8, OBJECTTABLE1_4a, 0xd5, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2000, 0x0bb0, OBJECTTABLE1_08, 0x30, 0)
	LevelObjectTableBuilder.addObject(0x2020, 0x0940, OBJECTTABLE1_47, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x2030, 0x0a90, OBJECTTABLE1_01, 0x06, 0)
	LevelObjectTableBuilder.addObject(0x2040, 0x0b60, OBJECTTABLE1_47, 0x63, 0)
	LevelObjectTableBuilder.addObject(0x2050, 0x0730, OBJECTTABLE1_01, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x2050, 0x0a90, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x2060, 0x0920, OBJECTTABLE1_47, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x2070, 0x0230, OBJECTTABLE1_28, 0x13, 0)
	LevelObjectTableBuilder.addObject(0x2070, 0x0730, OBJECTTABLE1_01, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x2080, 0x0bb0, OBJECTTABLE1_08, 0x30, 0)
	LevelObjectTableBuilder.addObject(0x2090, 0x0730, OBJECTTABLE1_01, 0x08, 0)
	LevelObjectTableBuilder.addObject(0x20b0, 0x0908, OBJECTTABLE1_46, 0x82, 0)
	LevelObjectTableBuilder.addObject(0x20d0, 0x05b8, OBJECTTABLE1_07, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x20d8, 0x0b80, OBJECTTABLE1_6b, 0x16, 0)
	LevelObjectTableBuilder.addObject(0x2110, 0x0ab4, OBJECTTABLE1_a4, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2128, 0x04a0, OBJECTTABLE1_a5, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x212c, 0x02b0, OBJECTTABLE1_01, 0x07, 0)
	LevelObjectTableBuilder.addObject(0x2140, 0x05c8, OBJECTTABLE1_3c, 0x80, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x2140, 0x0720, OBJECTTABLE1_48, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x2140, 0x0750, OBJECTTABLE1_46, 0x70, 0)
	LevelObjectTableBuilder.addObject(0x2150, 0x0908, OBJECTTABLE1_46, 0x82, 0)
	LevelObjectTableBuilder.addObject(0x2160, 0x0ab4, OBJECTTABLE1_a4, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x21a0, 0x0920, OBJECTTABLE1_47, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x21a8, 0x0510, OBJECTTABLE1_01, 0x06, 0)
	LevelObjectTableBuilder.addObject(0x21e0, 0x0940, OBJECTTABLE1_47, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x2200, 0x0a90, OBJECTTABLE1_4a, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2200, 0x0a90, OBJECTTABLE1_4a, 0x40, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2200, 0x0a90, OBJECTTABLE1_4a, 0xc0, LVLOBJ_FLIP_X)

	// Move this thing down to prevent a random crushing bug
	LevelObjectTableBuilder.addObject(0x2218, 0x0758 + 8, OBJECTTABLE1_6b, 0x31, 0)

	LevelObjectTableBuilder.addObject(0x2220, 0x0228, OBJECTTABLE1_34, 0x06, 0)

	// Move blocker object a bit up, else we get weird kills from it
	LevelObjectTableBuilder.addObject(0x2220, 0x06b0 - 4, OBJECTTABLE1_6b, 0x41, LVLOBJ_FLIP_Y)

	LevelObjectTableBuilder.addObject(0x2220, 0x0700, OBJECTTABLE1_47, 0x45, 0)
	LevelObjectTableBuilder.addObject(0x2230, 0x0968, OBJECTTABLE1_46, 0x82, 0)
	LevelObjectTableBuilder.addObject(0x2238, 0x058f, OBJECTTABLE1_07, 0x12, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2258, 0x01b8, OBJECTTABLE1_41, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x2260, 0x0480, OBJECTTABLE1_a5, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2260, 0x0500, OBJECTTABLE1_47, 0x45, 0)
	LevelObjectTableBuilder.addObject(0x2268, 0x0128, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x2290, 0x0160, OBJECTTABLE1_41, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x22b8, 0x094f, OBJECTTABLE1_07, 0x12, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x22c0, 0x0238, OBJECTTABLE1_49, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x22c8, 0x0110, OBJECTTABLE1_41, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x22e0, 0x0180, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x22e0, 0x08c0, OBJECTTABLE1_4a, 0xd5, 0)
	LevelObjectTableBuilder.addObject(0x2300, 0x08c0, OBJECTTABLE1_4a, 0xd5, 0)
	LevelObjectTableBuilder.addObject(0x2300, 0x0a90, OBJECTTABLE1_4a, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2300, 0x0a90, OBJECTTABLE1_4a, 0x40, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2300, 0x0a90, OBJECTTABLE1_4a, 0xc0, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2310, 0x0440, OBJECTTABLE1_28, 0x13, 0)
	LevelObjectTableBuilder.addObject(0x2310, 0x0774, OBJECTTABLE1_a4, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2320, 0x01b0, OBJECTTABLE1_41, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x2320, 0x08c0, OBJECTTABLE1_4a, 0xd5, 0)
	LevelObjectTableBuilder.addObject(0x2340, 0x08c0, OBJECTTABLE1_4a, 0xd5, 0)
	LevelObjectTableBuilder.addObject(0x2350, 0x04a0, OBJECTTABLE1_0d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2350, 0x0948, OBJECTTABLE1_46, 0x82, 0)
	LevelObjectTableBuilder.addObject(0x2370, 0x04a0, OBJECTTABLE1_0d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2370, 0x070c, OBJECTTABLE1_a4, 0x00, LVLOBJ_FLIP_X | LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x2370, 0x0938, OBJECTTABLE1_46, 0x80, 0)
	LevelObjectTableBuilder.addObject(0x2390, 0x04a0, OBJECTTABLE1_0d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x23c0, 0x010c, OBJECTTABLE1_08, 0x10, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x23c0, 0x04a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x23c0, 0x0940, OBJECTTABLE1_47, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x23d4, 0x0754, OBJECTTABLE1_08, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x2400, 0x0a90, OBJECTTABLE1_4a, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2400, 0x0a90, OBJECTTABLE1_4a, 0x40, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2400, 0x0a90, OBJECTTABLE1_4a, 0xc0, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2410, 0x0918, OBJECTTABLE1_46, 0x80, 0)
	LevelObjectTableBuilder.addObject(0x2430, 0x0670, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x2430, 0x0908, OBJECTTABLE1_46, 0x82, 0)
	LevelObjectTableBuilder.addObject(0x2440, 0x06b0, OBJECTTABLE1_02, 0x15, 0)
	LevelObjectTableBuilder.addObject(0x2440, 0x0710, OBJECTTABLE1_47, 0x42, 0)
	LevelObjectTableBuilder.addObject(0x2450, 0x0208, OBJECTTABLE1_08, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x2450, 0x0670, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x2470, 0x0238, OBJECTTABLE1_89, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x24d0, 0x00e0, OBJECTTABLE1_4a, 0xd5, 0)
	LevelObjectTableBuilder.addObject(0x24f0, 0x00e0, OBJECTTABLE1_4a, 0xd5, 0)
	LevelObjectTableBuilder.addObject(0x24f0, 0x08f0, OBJECTTABLE1_a3, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2500, 0x0280, OBJECTTABLE1_4e, 0x10, LVLOBJ_IGNORE_Y)
	LevelObjectTableBuilder.addObject(0x2510, 0x00e0, OBJECTTABLE1_4a, 0xd5, 0)
	LevelObjectTableBuilder.addObject(0x2520, 0x05f8, OBJECTTABLE1_02, 0x0e, 0)
	LevelObjectTableBuilder.addObject(0x2528, 0x0ab1, OBJECTTABLE1_08, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x252c, 0x08f4, OBJECTTABLE1_08, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x252c, 0x0b10, OBJECTTABLE1_6b, 0x15, 0)
	LevelObjectTableBuilder.addObject(0x2550, 0x0730, OBJECTTABLE1_6b, 0x40, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x2550, 0x0780, OBJECTTABLE1_47, 0x45, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2550, 0x07d8, OBJECTTABLE1_6b, 0x31, 0)
	LevelObjectTableBuilder.addObject(0x2570, 0x0590, OBJECTTABLE1_4d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2580, 0x0b30, OBJECTTABLE1_08, 0x30, 0)
	LevelObjectTableBuilder.addObject(0x25a0, 0x0b00, OBJECTTABLE1_47, 0x42, 0)
	LevelObjectTableBuilder.addObject(0x25ac, 0x08d4, OBJECTTABLE1_08, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x25c0, 0x0a48, OBJECTTABLE1_42, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2600, 0x02c0, OBJECTTABLE1_4e, 0x18, LVLOBJ_FLIP_X | LVLOBJ_IGNORE_Y)
	LevelObjectTableBuilder.addObject(0x2600, 0x0b30, OBJECTTABLE1_08, 0x30, 0)
	LevelObjectTableBuilder.addObject(0x2620, 0x0ac0, OBJECTTABLE1_47, 0x46, 0)
	LevelObjectTableBuilder.addObject(0x2631, 0x09d6, OBJECTTABLE1_08, 0x40, 0)
	LevelObjectTableBuilder.addObject(0x2640, 0x08a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2660, 0x0158, OBJECTTABLE1_4b, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x26a0, 0x05d0, OBJECTTABLE1_02, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x26c0, 0x08a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x26f0, 0x0750, OBJECTTABLE1_46, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x2700, 0x00f8, OBJECTTABLE1_4b, 0x80, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x2700, 0x0158, OBJECTTABLE1_4b, 0x80, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) == 2)
	{
		// The cylinder here is higher in S3AIR
		LevelObjectTableBuilder.addObject(0x2700, 0x0340, OBJECTTABLE1_4e, 0x28, LVLOBJ_IGNORE_Y)
	}
	else
	{
		LevelObjectTableBuilder.addObject(0x2700, 0x0380, OBJECTTABLE1_4e, 0x20, LVLOBJ_IGNORE_Y)
	}

	LevelObjectTableBuilder.addObject(0x2730, 0x0760, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2750, 0x0770, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2770, 0x0780, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2780, 0x0990, OBJECTTABLE1_4a, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2780, 0x0990, OBJECTTABLE1_4a, 0x40, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2780, 0x0990, OBJECTTABLE1_4a, 0xc0, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x27a0, 0x07d0, OBJECTTABLE1_46, 0x13, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) == 2)
	{
		LevelObjectTableBuilder.addObject(0x27b3, 0x0420, OBJECTTABLE1_08, 0x50, 0)
	}
	else
	{
		LevelObjectTableBuilder.addObject(0x27b3, 0x0408, OBJECTTABLE1_08, 0x60, 0)
	}

	LevelObjectTableBuilder.addObject(0x27d0, 0x08a8, OBJECTTABLE1_28, 0x14, 0)
	LevelObjectTableBuilder.addObject(0x27e8, 0x07b0, OBJECTTABLE1_a3, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x27e8, 0x07b0, OBJECTTABLE1_a3, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2800, 0x00f8, OBJECTTABLE1_4b, 0x80, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x2800, 0x0158, OBJECTTABLE1_4b, 0x80, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) == 2)
	{
		LevelObjectTableBuilder.addObject(0x2840, 0x02f0, OBJECTTABLE1_01, 0x05, 0)
	}

	LevelObjectTableBuilder.addObject(0x2840, 0x04a0, OBJECTTABLE1_48, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2840, 0x0550, OBJECTTABLE1_08, 0x30, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x2840, 0x09a8, OBJECTTABLE1_34, 0x0c, 0)
	LevelObjectTableBuilder.addObject(0x28a8, 0x0430, OBJECTTABLE1_08, 0x42, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2900, 0x00f8, OBJECTTABLE1_4b, 0x80, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x2900, 0x0158, OBJECTTABLE1_4b, 0x80, 0)
	LevelObjectTableBuilder.addObject(0x2910, 0x04a4, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x2910, 0x0870, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2920, 0x0410, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x2930, 0x0880, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x293c, 0x0410, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x2950, 0x0890, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2970, 0x08a0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2980, 0x0538, OBJECTTABLE1_49, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2990, 0x0800, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2990, 0x08b0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2994, 0x0460, OBJECTTABLE1_41, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x29b0, 0x07f0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x29b0, 0x08c0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x29d0, 0x04b0, OBJECTTABLE1_41, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x29d0, 0x0758, OBJECTTABLE1_4a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x29d0, 0x0758, OBJECTTABLE1_4a, 0x80, 0)
	LevelObjectTableBuilder.addObject(0x29d0, 0x0758, OBJECTTABLE1_4a, 0xff, 0)
	LevelObjectTableBuilder.addObject(0x29d0, 0x07e0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x29d0, 0x08d0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x29f0, 0x0858, OBJECTTABLE1_4a, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x29f0, 0x0858, OBJECTTABLE1_4a, 0x80, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x29f0, 0x0858, OBJECTTABLE1_4a, 0xff, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x29f0, 0x08e0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2a08, 0x0108, OBJECTTABLE1_41, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x2a10, 0x07d0, OBJECTTABLE1_46, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x2a10, 0x08f0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2a30, 0x0900, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2a40, 0x05b8, OBJECTTABLE1_49, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2a40, 0x0a70, OBJECTTABLE1_46, 0x80, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2a48, 0x0118, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x2a50, 0x0910, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2a70, 0x0920, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2a80, 0x00f8, OBJECTTABLE1_41, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x2a90, 0x0930, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2aa0, 0x0518, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x2ab0, 0x0940, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2ab8, 0x04d0, OBJECTTABLE1_41, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x2ad0, 0x0630, OBJECTTABLE1_28, 0x17, 0)
	LevelObjectTableBuilder.addObject(0x2ae0, 0x08d0, OBJECTTABLE1_4a, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2ae0, 0x08d0, OBJECTTABLE1_4a, 0x80, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2ae0, 0x08d0, OBJECTTABLE1_4a, 0xff, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2ae0, 0x0950, OBJECTTABLE1_46, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x2b00, 0x0290, OBJECTTABLE1_4a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2b00, 0x02b8, OBJECTTABLE1_4a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2b00, 0x02e0, OBJECTTABLE1_4a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2b20, 0x0530, OBJECTTABLE1_a3, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2b28, 0x02e0, OBJECTTABLE1_4a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2b44, 0x0990, OBJECTTABLE1_08, 0x10, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x2b78, 0x0700, OBJECTTABLE1_02, 0x01, 0)

	// Move this thing down to prevent a random crushing bug
	LevelObjectTableBuilder.addObject(0x2ba0, 0x0198 + 8, OBJECTTABLE1_6b, 0x31, 0)

	LevelObjectTableBuilder.addObject(0x2bc0, 0x00f0, OBJECTTABLE1_6b, 0x70, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x2bc0, 0x0140, OBJECTTABLE1_47, 0x4a, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2bc0, 0x0350, OBJECTTABLE1_46, 0x30, 0)
	LevelObjectTableBuilder.addObject(0x2c00, 0x0270, OBJECTTABLE1_28, 0x31, 0)
	LevelObjectTableBuilder.addObject(0x2c00, 0x0920, OBJECTTABLE1_47, 0x63, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2c08, 0x09a0, OBJECTTABLE1_3c, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x2c10, 0x0340, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2c20, 0x03a8, OBJECTTABLE1_41, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x2c30, 0x0330, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2c50, 0x0320, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2c68, 0x03b8, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x2c70, 0x0310, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2c90, 0x0300, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2c90, 0x0690, OBJECTTABLE1_4d, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x2c9a, 0x0160, OBJECTTABLE1_3c, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x2c9c, 0x03f0, OBJECTTABLE1_41, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x2cb0, 0x02f0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2cc0, 0x0928, OBJECTTABLE1_34, 0x07, 0)
	LevelObjectTableBuilder.addObject(0x2cd0, 0x02e0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2cd1, 0x0838, OBJECTTABLE1_07, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x2cf0, 0x02d0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2cf0, 0x0510, OBJECTTABLE1_4d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2d00, 0x0700, OBJECTTABLE1_02, 0x0e, 0)
	LevelObjectTableBuilder.addObject(0x2d10, 0x0610, OBJECTTABLE1_4d, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x2d20, 0x01a0, OBJECTTABLE1_47, 0x30, 0)
	LevelObjectTableBuilder.addObject(0x2d20, 0x02e8, OBJECTTABLE1_47, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x2d40, 0x07c0, OBJECTTABLE1_4a, 0xd5, 0)
	LevelObjectTableBuilder.addObject(0x2d50, 0x0920, OBJECTTABLE1_0d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2d60, 0x07c0, OBJECTTABLE1_4a, 0xd5, 0)
	LevelObjectTableBuilder.addObject(0x2d70, 0x0590, OBJECTTABLE1_4d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2d70, 0x0920, OBJECTTABLE1_0d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2d80, 0x07c0, OBJECTTABLE1_4a, 0xd5, 0)
	LevelObjectTableBuilder.addObject(0x2d90, 0x0590, OBJECTTABLE1_4d, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x2d90, 0x0920, OBJECTTABLE1_0d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2dac, 0x0270, OBJECTTABLE1_01, 0x08, 0)
	LevelObjectTableBuilder.addObject(0x2dac, 0x0370, OBJECTTABLE1_01, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x2dc0, 0x0920, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2dc8, 0x0990, OBJECTTABLE1_02, 0x09, 0)
	LevelObjectTableBuilder.addObject(0x2df0, 0x0610, OBJECTTABLE1_4d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2e00, 0x0700, OBJECTTABLE1_02, 0x0e, 0)
	LevelObjectTableBuilder.addObject(0x2e10, 0x0510, OBJECTTABLE1_4d, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x2e70, 0x0690, OBJECTTABLE1_4d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2e80, 0x0778, OBJECTTABLE1_02, 0x12, 0)
	LevelObjectTableBuilder.addObject(0x2ec0, 0x0371, OBJECTTABLE1_01, 0x06, 0)
	LevelObjectTableBuilder.addObject(0x2ef0, 0x0710, OBJECTTABLE1_4d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2f00, 0x07f0, OBJECTTABLE1_02, 0x0e, 0)
	LevelObjectTableBuilder.addObject(0x2f60, 0x03f0, OBJECTTABLE1_4a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2f60, 0x03f0, OBJECTTABLE1_4a, 0x80, 0)
	LevelObjectTableBuilder.addObject(0x2f60, 0x03f0, OBJECTTABLE1_4a, 0x2b, 0)
	LevelObjectTableBuilder.addObject(0x2f60, 0x03f0, OBJECTTABLE1_4a, 0xd5, 0)
	LevelObjectTableBuilder.addObject(0x2f70, 0x0790, OBJECTTABLE1_4d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2f78, 0x0810, OBJECTTABLE1_02, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x2f90, 0x0520, OBJECTTABLE1_28, 0x13, 0)
	LevelObjectTableBuilder.addObject(0x2f98, 0x0830, OBJECTTABLE1_02, 0x0c, 0)
	LevelObjectTableBuilder.addObject(0x2fb0, 0x0348, OBJECTTABLE1_41, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x2fb0, 0x0858, OBJECTTABLE1_02, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x2fc0, 0x0448, OBJECTTABLE1_3c, 0x80, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x2fc0, 0x0520, OBJECTTABLE1_48, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x2fc0, 0x09a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2fd0, 0x0300, OBJECTTABLE1_41, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x2fd8, 0x03a8, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x2fe8, 0x0878, OBJECTTABLE1_02, 0x0d, 0)
	LevelObjectTableBuilder.addObject(0x2fec, 0x0360, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x2ff0, 0x0810, OBJECTTABLE1_4d, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3032, 0x0520, OBJECTTABLE1_3c, 0x01, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3040, 0x09a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x30a8, 0x0830, OBJECTTABLE1_41, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x30c0, 0x02cc, OBJECTTABLE1_85, 0x09, 0)
	LevelObjectTableBuilder.addObject(0x30c0, 0x09a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x30f0, 0x0550, OBJECTTABLE1_46, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x30f0, 0x0878, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x3130, 0x0560, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3130, 0x0880, OBJECTTABLE1_41, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x3140, 0x09a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3150, 0x0570, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3178, 0x0868, OBJECTTABLE1_41, 0x02, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) == 2)
	{
		LevelObjectTableBuilder.addObject(0x3180, 0x0500, OBJECTTABLE1_4a, 0x00, 0)
		LevelObjectTableBuilder.addObject(0x3180, 0x0500, OBJECTTABLE1_4a, 0xe0, 0)
		LevelObjectTableBuilder.addObject(0x3180, 0x0500, OBJECTTABLE1_4a, 0x60, 0)
	}
	else
	{
		LevelObjectTableBuilder.addObject(0x3180, 0x0518, OBJECTTABLE1_4a, 0x80, 0)
		LevelObjectTableBuilder.addObject(0x3180, 0x0518, OBJECTTABLE1_4a, 0x2b, 0)
		LevelObjectTableBuilder.addObject(0x3180, 0x0518, OBJECTTABLE1_4a, 0xd5, 0)
	}

	LevelObjectTableBuilder.addObject(0x3180, 0x0580, OBJECTTABLE1_46, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x31b0, 0x0570, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x31c0, 0x09a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x31d0, 0x0560, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x31f0, 0x0550, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3210, 0x0540, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3230, 0x0530, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3240, 0x09a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) == 2)
	{
		LevelObjectTableBuilder.addObject(0x3250, 0x0498, OBJECTTABLE1_4a, 0x00, 0)
		LevelObjectTableBuilder.addObject(0x3250, 0x0498, OBJECTTABLE1_4a, 0xe0, 0)
		LevelObjectTableBuilder.addObject(0x3250, 0x0498, OBJECTTABLE1_4a, 0x60, 0)
	}
	else
	{
		LevelObjectTableBuilder.addObject(0x3250, 0x04a0, OBJECTTABLE1_4a, 0x80, 0)
		LevelObjectTableBuilder.addObject(0x3250, 0x04a0, OBJECTTABLE1_4a, 0x2b, 0)
		LevelObjectTableBuilder.addObject(0x3250, 0x04a0, OBJECTTABLE1_4a, 0xd5, 0)
	}

	LevelObjectTableBuilder.addObject(0x3250, 0x0520, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3270, 0x0510, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3290, 0x0500, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3290, 0x0810, OBJECTTABLE1_4d, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x32b0, 0x04f0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x32c0, 0x09a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x32d0, 0x04e0, OBJECTTABLE1_46, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3300, 0x0880, OBJECTTABLE1_02, 0x0e, 0)
	LevelObjectTableBuilder.addObject(0x3310, 0x04d0, OBJECTTABLE1_46, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x3310, 0x0790, OBJECTTABLE1_4d, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x3330, 0x08b0, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x3340, 0x09a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3350, 0x08b0, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x3370, 0x08b0, OBJECTTABLE1_01, 0x05 | 0x10, 0)
	LevelObjectTableBuilder.addObject(0x33c0, 0x09a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3420, 0x0478, OBJECTTABLE1_47, 0x45, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3424, 0x02f0, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x3440, 0x02f0, OBJECTTABLE1_01, 0x08, 0)
	LevelObjectTableBuilder.addObject(0x3440, 0x09a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3450, 0x0680, OBJECTTABLE1_47, 0x45, 0)
	LevelObjectTableBuilder.addObject(0x3450, 0x06d8, OBJECTTABLE1_6b, 0x31, 0)
	LevelObjectTableBuilder.addObject(0x345c, 0x02f0, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x34a0, 0x0498, OBJECTTABLE1_a5, 0x00, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) != 2)
	{
		LevelObjectTableBuilder.addObject(0x34c0, 0x0680, OBJECTTABLE1_47, 0x45, LVLOBJ_FLIP_X)
		LevelObjectTableBuilder.addObject(0x34c0, 0x06d8, OBJECTTABLE1_6b, 0x31, 0)
	}

	LevelObjectTableBuilder.addObject(0x34c0, 0x09a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3518, 0x0270, OBJECTTABLE1_41, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x3528, 0x0318, OBJECTTABLE1_41, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x3540, 0x0400, OBJECTTABLE1_47, 0x49, 0)
	LevelObjectTableBuilder.addObject(0x3540, 0x0480, OBJECTTABLE1_a5, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3540, 0x0508, OBJECTTABLE1_3c, 0x80, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x3540, 0x06a0, OBJECTTABLE1_48, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x3540, 0x09a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3548, 0x02c0, OBJECTTABLE1_41, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x3558, 0x0370, OBJECTTABLE1_41, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x3570, 0x06a0, OBJECTTABLE1_28, 0x13, 0)
	LevelObjectTableBuilder.addObject(0x36a4, 0x0a70, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x36c0, 0x0a70, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x36dc, 0x0a70, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x3740, 0x0b20, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x37c0, 0x0b20, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3800, 0x0880, OBJECTTABLE1_a5, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3900, 0x0880, OBJECTTABLE1_a5, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3a00, 0x0880, OBJECTTABLE1_a5, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3c40, 0x08a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3c40, 0x0b20, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3cc0, 0x08a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3cc0, 0x0b20, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3d40, 0x08a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3d40, 0x0b20, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3dc0, 0x08a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3dc0, 0x0b20, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3e40, 0x08a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3e40, 0x0b20, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3ec0, 0x08a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3ec0, 0x0b20, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3f40, 0x08a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3f40, 0x0b20, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3fc0, 0x08a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3fc0, 0x0b20, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x4040, 0x08a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x4040, 0x0b20, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x40c0, 0x08a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x40c0, 0x0b20, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x4140, 0x08a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x4140, 0x0b20, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x41c0, 0x08a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x41c0, 0x0b20, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x4240, 0x08a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x4240, 0x0b20, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x42c0, 0x08a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x42c0, 0x0b20, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x4340, 0x08a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x4340, 0x0b20, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x43c0, 0x08a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x43c0, 0x0b20, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x4440, 0x08a0, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x4440, 0x0b20, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x44c0, 0x0b20, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x4540, 0x0b20, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x45c0, 0x0820, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x45c0, 0x09cc, OBJECTTABLE1_85, 0x0a, 0)
	LevelObjectTableBuilder.addObject(0x45c0, 0x0b20, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x4640, 0x0820, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x4640, 0x0b20, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x46c0, 0x0820, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x46c0, 0x0b20, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x4710, 0x07c0, OBJECTTABLE1_28, 0x17, 0)
	LevelObjectTableBuilder.addObject(0x4710, 0x0a20, OBJECTTABLE1_28, 0x13, 0)
	LevelObjectTableBuilder.addObject(0x4740, 0x0308, OBJECTTABLE1_3c, 0x80, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x4740, 0x0b20, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x4770, 0x0800, OBJECTTABLE1_28, 0x17, 0)
	LevelObjectTableBuilder.addObject(0x4780, 0x0a38, OBJECTTABLE1_83, 0x06, 0)
	LevelObjectTableBuilder.addObject(0x47a0, 0x0a2c, OBJECTTABLE1_82, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x47c0, 0x0b20, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x4810, 0x0310, OBJECTTABLE1_80, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x4840, 0x0310, OBJECTTABLE1_80, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x4840, 0x0b20, OBJECTTABLE1_48, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x48c0, 0x0310, OBJECTTABLE1_80, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x48c0, 0x0a48, OBJECTTABLE1_3c, 0x80, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x48c0, 0x0b20, OBJECTTABLE1_48, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x48f0, 0x0b20, OBJECTTABLE1_28, 0x13, 0)
	LevelObjectTableBuilder.addObject(0x4940, 0x0270, OBJECTTABLE1_a7, 0x00, 0)

	u16[A0] = 0xffff
	A0 += 2
}
